package com.aishua.fire.mapper;

import java.util.List;
import java.util.Map;

import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Component;

import com.aishua.fire.entity.checkcatalog.CheckCatalogInfo;
import com.aishua.fire.entity.checkitem.AddCheckItemInfo;
import com.aishua.fire.entity.checkitem.CheckItemInfo;
import com.aishua.fire.entity.material.AddMaterialAddressInfo;
import com.aishua.fire.entity.material.AddMaterialDetailInfo;
import com.aishua.fire.entity.material.AddMaterialInfo;
import com.aishua.fire.entity.material.AddMaterialStandardInfo;
import com.aishua.fire.entity.material.MaterialAddressList;
import com.aishua.fire.entity.material.MaterialDetailInfo;
import com.aishua.fire.entity.material.MaterialDetailRecordInfo;
import com.aishua.fire.entity.material.MaterialDetailsDetailInfo;
import com.aishua.fire.entity.material.MaterialDetailsList;
import com.aishua.fire.entity.material.MaterialRecordNum;
import com.aishua.fire.entity.material.MaterialStandardList;

@Component
public interface MaterialMapper
{
	
	/**
	 * 添加物资信息
	 * @param info
	 */
	void saveMaterialInfo(AddMaterialInfo info);
	
	/**
	 * 查询检查项目名称是否重复
	 * @param item_name
	 * @return
	 */
	List<String> findByMaterialName(String m_name);
	


	/**
	 *  巡检管理_检查项目新增检查明细
	 * @param info
	 */
	void addMaterialStandard(AddMaterialStandardInfo info);
	
	/**
	 * 查询类别目录列表
	 * @param param
	 * @return
	 */
	List<AddMaterialInfo> materiallist(@Param("sname") String sname);

	/**
	 * 查询类别目录列表数量
	 * @param param
	 * @return
	 */
	int listTotal(@Param("sname") String sname);
	

	/**
	 *  应急物资管理-应急物资基本信息-查询应急物资详情
	 */
	MaterialDetailInfo materialDetailInfo(String id);
	
	
	
	
	
	
	
	
	/**
	 * 检查项目分类目录_新增分类目录信息
	 * @param info
	 */
	void saveCheckItemInfo(AddCheckItemInfo info);
	

	/**
	 * 插入项目关联的图片
	 * @param pa
	 */
	void insertCheckItemAndPic(Map<String, String> pa);

	/**
	 * 插入项目关联的检查明细
	 * @param pa
	 */
	void insertCheckItemDetail(Map<String, String> pa);

	/**
	 * 查询分类目录下拉框
	 * @return
	 */
	List<CheckCatalogInfo> getCheckcatalogSelectList();

	/**
	 * 查询项目关联的图片
	 * @param id
	 * @return
	 */
	List<String> getCheckItemAndPic(String id);

	/**
	 * 实验/检查标准列表
	 * @param id
	 * @return
	 */
	List<MaterialStandardList> getMaterialStandard(String m_id);
	

	/**
	 * 修改项目关联的明细
	 */
	void updateCheckItemInfo(CheckItemInfo info);

	/**
	 * 应急物资管理-应急物资基本信息-删除应急物资检查标准
	 */
	void delMaterialStandardInfo(String s_id);
	
	/**
	 * 应急物资管理-应急物资基本信息-校验物资点名称是否重复
	 */
	List<String> findByMaterialAddressName(String name);

	/**
	 * 应急物资基本信息-新增应急物资存放点信息
	 * @param info
	 */
	void addMaterialAddress(AddMaterialAddressInfo info);

	/**
	 * 应急物资基本信息-查询应急物资存放点信息列表
	 * @param d_name
	 * @param pageNumber
	 * @param pageSize
	 * @return
	 */
	List<MaterialAddressList> materialAddressList(@Param("d_name")String d_name);

	/**
	 * 应急物资基本信息-查询应急物资存放点信息列表数量
	 * @param d_name
	 * @param pageNumber
	 * @param pageSize
	 * @return
	 */
	int materialAddressListTotal(@Param("d_name")String d_name);

	/**
	 * 应急物资管理-应急物资基本信息-查询应急物资存放点下拉框列表
	 */
	List<MaterialAddressList> materialAddressSelect();

	/**
	 * 应急物资管理-应急物资基本信息-查询应急物资存放点下拉框列表
	 */
	List<AddMaterialInfo> materialSelect();

	/**
	 * 查询急物资编号名称是否重复
	 * @param material_num
	 * @return
	 */
	List<String> findByMaterialNum(String material_num);

	/**
	 * 应急物资信息-新增应急物资信息
	 * @param info
	 */
	void addMaterialDetails(AddMaterialDetailInfo info);

	/**
	 * 应急物资管理-应急物资信息-查询应急物资列表
	 */
	List<MaterialDetailsList> materialDetailsList(String m_num);

	/**
	 * 应急物资管理-应急物资信息-查询应急物资列表数量
	 */
	int materialDetailsListTotal(String m_num);

	/**
	 * 应急物资管理-应急物资信息-查询应急物资详情
	 */
	MaterialDetailsDetailInfo getMaterialDetailsdetail(String id);

	/**
	 * 
	 * @param pa
	 */
	void insertMaterial_addressbook(Map<String, String> pa);

	/**
	 * 查询物资管理员
	 * @param id
	 * @return
	 */
	String getMaterialAndAddressBook(String id);

   /**
     * 应急物资管理-应急物资巡检记录-查询应急物资列表
     */
	List<MaterialDetailRecordInfo> getMaterialRecord(Map<String, String> pa);

	/**
     * 应急物资管理-应急物资巡检记录-查询查询巡检次数
     */
	List<MaterialRecordNum> getRecordNum();

	
    List<MaterialDetailRecordInfo> getMaterialDetailsRecord(String d_id);

    /**
     * 查询列表条数
     * @param pa
     * @return
     */
    int getMaterialRecordTotal(Map<String, String> pa);

    /**
     * 查询条数
     */
    int getMaterialDetailsRecordTotal(String d_id);

}
